1. Field of the Invention
The present invention relates to an image processing apparatus, a program, and a memory medium using code data as image data where the code data is compressed and coded according to the JPEG2000 algorithm.
2. Description of the Related Art
In recent years, a demand for higher definition images has been on the increase due to the advancement of technology relating to image inputting/outputting. An example of an image scan apparatus is a digital camera. As the price goes down for high-performance charge coupled devices having three million or more pixels, such devices are now beginning to be used in digital cameras in the middle-price range. In the field of image outputting apparatus and image display apparatus, there has been a remarkable progress toward higher definition and lower prices in the making of hard copies by laser printers and inkjet printers. Such trend is also seen in the field of image forming apparatus such as a copier machine and multifunction peripherals (MFP).
Because of introduction of such high-performance and low-price products for image inputting/outputting into the market, high definition images are now beginning to be available to the masses. It is predicted that the demand for high-definition images will increase in any part of society.
Against this background, it is believed that there will be an increasing demand for compression and decompression technologies that enable the handy use of high-definition images. JPEG2000 is one of the image compression technologies that satisfy such demand. JPEG2000 allows a high-definition image to be divided into small parts for processing, and allows a high-quality image to be decoded even when a high-compression rate is used. One of the advantages of JPEG2000 is the use of the wavelet transform, which has an advantage of high image quality at high-compression rates. In the wavelet transform, the compression and decompression of a still image can be suspended at any desired level (decomposition level-1) of wavelet division, which corresponds to recursive octave division. This makes it possible to extract a low-resolution image (size-reduced image) and an image portion from a single file.
As for the construction of apparatus conforming to JPEG2000, a chip complying with the JPEG2000 specifications needs to be implemented as part of hardware. Each chip has a specified level of wavelet division that can be supported by its hardware.
Image processing apparatuses for processing image data often exchange the image data through networks. Such exchange is carried out between the same type of apparatuses (e.g., between digital cameras, between MFPs) or carried out between different types of apparatuses (e.g., between a personal computer and a digital camera, between a personal computer and an MFP).
As described above, the level of wavelet division that is supported by the JPEG2000 chip implemented in these apparatuses may be the same, or may differ from chip to chip. For example, image data (compressed and coded data) provided at a wavelet division level “10” may be transmitted to an MFP having a JPEG2000 chip supporting only up to a wavelet division level “5”. In such a case, the hardware of the MFP cannot handle the wavelet division level “10”, resulting in the need for the decoding of all the coded data for transmission of original image data. Time required for such transmission and processing is lengthy, and the load on the network is also considerable. In this manner, the advantage of the use of the JPEG2000 algorithm that compresses image data at high rate will be undermined.
The situation considered above also causes a trouble not only when the level of wavelet division at the receiver end is too low but also when it is too high. For example, an apparatus such as a digital camera or the like having hardware that supports the extraction of thumbnail images cannot extract a thumbnail image unless the wavelet division level matches that of the apparatus. For example, the wavelet division level of the apparatus may be “10”, and the wavelet division level of the received data may be “5”. Even in such case, the coded data at the wavelet division level “5” can be converted into the wavelet division level “10” through the wavelet transform, provided that a wavelet division level smaller than 10 is supported. However, processing time is required, thereby making it difficult to read a thumbnail image promptly. Moreover, if only the wavelet division level “10” is supported, it is necessary to decode the coded data of the wavelet division level “5” for retransmission as previously described.
Accordingly, there is a need for a scheme that matches a wavelet division level to that of hardware without decoding all the coded data when wavelet division levels supported by hardware differ between apparatuses.